package com.beiben.trialproduce.samplecar.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.util.Date;
import java.util.List;

/**
 * 样车对象 trial_produce_sample_car
 * 
 * @author 熊国强
 * @date 2020-11-18
 */
@HeadRowHeight(30)
@ContentRowHeight(60)
public class SampleCarExcelVo
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ExcelIgnore
    private Long carId;

    /*序号*/
    @ExcelProperty({"科研样车库存汇总表","序号"})
    @ColumnWidth(4)
    private String orderNum;

    /** 车辆型号 ：零部件号(或材料编号或车辆型号)*/
    @ExcelProperty({"科研样车库存汇总表","零部件号(或材料编号或车辆型号)"})
    @ColumnWidth(9)
    private String carModel;

    /** VIN号 零部件名称(或材料名称或VIN号) */
    @ExcelProperty({"科研样车库存汇总表","零部件名称(或材料名称或VIN号)"})
    @ColumnWidth(9)
    private String vinNum;

    /** 车辆类型  材料品号*/
    @ExcelProperty({"科研样车库存汇总表","材料品号"})
    @ColumnWidth(4)
    private String carType;

    /** 规格型号 */
    @ExcelProperty({"科研样车库存汇总表","规格型号"})
    @ColumnWidth(4)
    private String model;

    /** 计量单位 */
    @ExcelProperty({"科研样车库存汇总表","计量单位"})
    @ColumnWidth(4)
    private String unitName;

    /** 单价 */
    @ExcelProperty({"科研样车库存汇总表","单价"})
    @ColumnWidth(4)
    private BigDecimal price;

    /** 账面数量 */
    @ExcelProperty({"科研样车库存汇总表","账面数量"})
    @ColumnWidth(4)
    private String accountsNum;

    /*正常存货*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","正常存货"})
    @ColumnWidth(4)
    private String normalStock;

    /*技术淘汰存货*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","非正常存货","技术淘汰存货","技术淘汰存货"})
    @ColumnWidth(4)
    private String weedOut;

    /*残损变质存货*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","非正常存货","残损变质存货","残损变质存货"})
    @ColumnWidth(4)
    private String badStock;

    /*积压呆滞存货*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","非正常存货","积压呆滞存货","积压呆滞存货"})
    @ColumnWidth(4)
    private String overStock;

    /*其他非正常性存货*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","非正常存货","其他非正常性存货","其他非正常性存货"})
    @ColumnWidth(4)
    private String otherUnNormalStock;

    /*非正常存货小计*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","小计"})
    @ColumnWidth(4)
    private String unNormalSubtotal;

    /*1年以内*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","存货库龄","1年以内","1年以内"})
    @ColumnWidth(4)
    private String oneYear;

    /*1-2年*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","存货库龄","1-2年","1-2年"})
    @ColumnWidth(4)
    private String oneTwoYear;

    /*2-3 年*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","存货库龄","2-3 年","2-3 年"})
    @ColumnWidth(4)
    private String twoThreeYear;

    /*3-5年*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","存货库龄","3-5年","3-5年"})
    @ColumnWidth(4)
    private String threeFiveYear;

    /*5年以上*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","存货库龄","5年以上","5年以上"})
    @ColumnWidth(4)
    private String fiveYear;

    /*存货库存小计*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","存货库龄","小计"})
    @ColumnWidth(4)
    private String stockYearSubtotal;

    /*盈亏*/
    @ExcelProperty({"科研样车库存汇总表","实际盘点数量","盈亏"})
    @ColumnWidth(4)
    private String profitAndLoss;

    /** 现存状态描述 */
    @ExcelProperty({"科研样车库存汇总表","现存状态描述"})
    @ColumnWidth(14)
    private String stateContent;

    /** 存放地点 */
    @ExcelProperty({"科研样车库存汇总表","存放地点"})
    @ColumnWidth(14)
    private String storeAddress;

    /** 照片 */
    @ExcelProperty({"科研样车库存汇总表","正视图"})
    @ColumnWidth(14)
    private File file1;

    /** 照片 */
    @ExcelProperty({"科研样车库存汇总表","左视图"})
    @ColumnWidth(14)
    private File file2;

    /** 照片 */
    @ExcelProperty({"科研样车库存汇总表","右视图"})
    @ColumnWidth(14)
    private File file3;

    /** 照片 */
    @ExcelProperty({"科研样车库存汇总表","后视图"})
    @ColumnWidth(14)
    private File file4;

    /** 备注 */
    @ExcelProperty({"科研样车库存汇总表","备注"})
    @ColumnWidth(14)
    private String remark;

    /** 钥匙号 */
    @ExcelProperty({"科研样车库存汇总表","样车钥匙号"})
    @ColumnWidth(10)
    private String ysNum;

    /** 生产批次 */
    @ExcelProperty({"科研样车库存汇总表","样车生产批次"})
    @ColumnWidth(10)
    private String productionBatch;

    /** 生产年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat("yyyy-MM-dd")
    @ExcelProperty({"科研样车库存汇总表","生产年月"})
    @ColumnWidth(10)
    private Date productionTime;

    /** 项目名称 */
    @ExcelProperty({"科研样车库存汇总表","项目名称"})
    @ColumnWidth(10)
    private String projectNum;

    /** 负责人 */
    @ExcelProperty({"科研样车库存汇总表","样车负责人"})
    @ColumnWidth(10)
    private String userName;

    /** 样车状态 */
    @ExcelProperty({"科研样车库存汇总表","样车状态"})
    @ColumnWidth(10)
    private String carState;

    /** 样车使用状态 */
    @ExcelProperty({"科研样车库存汇总表","样车使用状态"})
    @ColumnWidth(10)
    private String carUseState;

    /** 样车变更履历 */
    @ExcelProperty({"科研样车库存汇总表","样车变更履历"})
    @ColumnWidth(10)
    private String record;

    /** 图片地址 不导出*/
    @ExcelIgnore
    private String uri;

    /** 图片地址 */
    @ExcelIgnore
    private List<com.beiben.system.file.domain.File> fileList;


    public String getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }

    public void setCarId(Long carId)
    {
        this.carId = carId;
    }

    public Long getCarId() 
    {
        return carId;
    }
    public void setYsNum(String ysNum) 
    {
        this.ysNum = ysNum;
    }

    public String getYsNum() 
    {
        return ysNum;
    }
    public void setCarModel(String carModel) 
    {
        this.carModel = carModel;
    }

    public String getCarModel() 
    {
        return carModel;
    }
    public void setVinNum(String vinNum) 
    {
        this.vinNum = vinNum;
    }

    public String getVinNum() 
    {
        return vinNum;
    }
    public void setCarType(String carType) 
    {
        this.carType = carType;
    }

    public String getCarType() 
    {
        return carType;
    }
    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }
    public void setUnitName(String unitName) 
    {
        this.unitName = unitName;
    }

    public String getUnitName() 
    {
        return unitName;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setStateContent(String stateContent) 
    {
        this.stateContent = stateContent;
    }

    public String getStateContent() 
    {
        return stateContent;
    }
    public void setStoreAddress(String storeAddress) 
    {
        this.storeAddress = storeAddress;
    }

    public String getStoreAddress() 
    {
        return storeAddress;
    }
    public void setProductionBatch(String productionBatch) 
    {
        this.productionBatch = productionBatch;
    }

    public String getProductionBatch() 
    {
        return productionBatch;
    }
    public void setProductionTime(Date productionTime) 
    {
        this.productionTime = productionTime;
    }

    public Date getProductionTime() 
    {
        return productionTime;
    }
    public void setProjectNum(String projectNum) 
    {
        this.projectNum = projectNum;
    }

    public String getProjectNum() 
    {
        return projectNum;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setCarState(String carState)
    {
        this.carState = carState;
    }

    public String getCarState()
    {
        return carState;
    }
    public void setCarUseState(String carUseState)
    {
        this.carUseState = carUseState;
    }

    public String getCarUseState()
    {
        return carUseState;
    }

    public String getAccountsNum() {
        return accountsNum;
    }

    public void setAccountsNum(String accountsNum) {
        this.accountsNum = accountsNum;
    }

    public String getNormalStock() {
        return normalStock;
    }

    public void setNormalStock(String normalStock) {
        this.normalStock = normalStock;
    }

    public String getWeedOut() {
        return weedOut;
    }

    public void setWeedOut(String weedOut) {
        this.weedOut = weedOut;
    }

    public String getBadStock() {
        return badStock;
    }

    public void setBadStock(String badStock) {
        this.badStock = badStock;
    }

    public String getOverStock() {
        return overStock;
    }

    public void setOverStock(String overStock) {
        this.overStock = overStock;
    }

    public String getOtherUnNormalStock() {
        return otherUnNormalStock;
    }

    public void setOtherUnNormalStock(String otherUnNormalStock) {
        this.otherUnNormalStock = otherUnNormalStock;
    }

    public String getUnNormalSubtotal() {
        return unNormalSubtotal;
    }

    public void setUnNormalSubtotal(String unNormalSubtotal) {
        this.unNormalSubtotal = unNormalSubtotal;
    }

    public String getOneYear() {
        return oneYear;
    }

    public void setOneYear(String oneYear) {
        this.oneYear = oneYear;
    }

    public String getOneTwoYear() {
        return oneTwoYear;
    }

    public void setOneTwoYear(String oneTwoYear) {
        this.oneTwoYear = oneTwoYear;
    }

    public String getTwoThreeYear() {
        return twoThreeYear;
    }

    public void setTwoThreeYear(String twoThreeYear) {
        this.twoThreeYear = twoThreeYear;
    }

    public String getThreeFiveYear() {
        return threeFiveYear;
    }

    public void setThreeFiveYear(String threeFiveYear) {
        this.threeFiveYear = threeFiveYear;
    }

    public String getFiveYear() {
        return fiveYear;
    }

    public void setFiveYear(String fiveYear) {
        this.fiveYear = fiveYear;
    }

    public String getStockYearSubtotal() {
        return stockYearSubtotal;
    }

    public void setStockYearSubtotal(String stockYearSubtotal) {
        this.stockYearSubtotal = stockYearSubtotal;
    }

    public String getProfitAndLoss() {
        return profitAndLoss;
    }

    public void setProfitAndLoss(String profitAndLoss) {
        this.profitAndLoss = profitAndLoss;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public File getFile1() {
        return file1;
    }

    public void setFile1(File file1) {
        this.file1 = file1;
    }

    public File getFile2() {
        return file2;
    }

    public void setFile2(File file2) {
        this.file2 = file2;
    }

    public File getFile3() {
        return file3;
    }

    public void setFile3(File file3) {
        this.file3 = file3;
    }

    public File getFile4() {
        return file4;
    }

    public void setFile4(File file4) {
        this.file4 = file4;
    }

    public List<com.beiben.system.file.domain.File> getFileList() {
        return fileList;
    }

    public void setFileList(List<com.beiben.system.file.domain.File> fileList) {
        this.fileList = fileList;
    }

    public String getUri() {
        return uri;
    }

    public void setUri(String uri) {
        this.uri = uri;
    }

    public String getRecord() {
        return record;
    }

    public void setRecord(String record) {
        this.record = record;
    }
}
